package day10.collections.Queue;

/*
 * Author: JacksonCoder
 * FileName: PriorityQueueDemo
 * Version: 1.0.0
 * Date: 2025/4/17
 */

import java.util.PriorityQueue;

public class PriorityQueueDemo {
    public static void main(String[] args) {
        PriorityQueue<Integer> queue = new PriorityQueue<>();

        // 添加元素（自动按优先级排序，最小的优先）
        queue.add(30);
        queue.add(10);
        queue.add(20);

        // 获取元素的个数
        System.out.println("queue item is " + queue.size());

        // 查看队头元素，不移除
        System.out.println("this is peek:" + queue.peek()); // 输出：10

        // 移除并返回队首元素
        System.out.println("this is poll:" + queue.poll());

        // 依次出队（最小优先）
        while (!queue.isEmpty()) {
            System.out.println(queue.poll());  // 输出：10 20 30
        }

        // 清空
        queue.clear();

    }
}
